import java.util.Scanner;

public class J20250530 {

      public static void main(String[] args) {
    //下面是递归求解斐波那契数列
// Scanner sc = new Scanner(System.in);
//        int N = sc.nextInt();
//        System.out.println(func(N));
//
//    }
//    public static int func (int N){
//        if(N == 1 || N == 2){
//            return 1;
//        }
//        return func(N -1) + func(N-2);
    /**
     * 递归解决汉诺塔问题
                  * @param n 圆盘数量
                  * @param source 起始柱子 A
                  * @param target 目标柱子 C
                  * @param auxiliary 辅助柱子 B
                  */
//          int n = 3; // 圆盘数量（可修改为任意正整数）
//          System.out.println("Steps to solve Hanoi Tower with " + n + " disks:");
//          hanoi(n, 'A', 'C', 'B'); // A是起始柱，C是目标柱，B是辅助柱
//    }
//    public static void hanoi(int n, char source, char target, char auxiliary) {
//        if (n == 1) {
//            // 基线条件：只有一个圆盘时，直接移动到目标柱子
//            System.out.println("Move disk 1 from " + source + " to " + target);
//        } else {
//            // 递归步骤1：将 n-1 个圆盘从 source 移动到 auxiliary（借助 target）
//            hanoi(n - 1, source, auxiliary, target);
//
//            // 递归步骤2：将第 n 个（最大的）圆盘从 source 移动到 target
//            System.out.println("Move disk " + n + " from " + source + " to " + target);
//
//            // 递归步骤3：将 n-1 个圆盘从 auxiliary 移动到 target（借助 source）
//            hanoi(n - 1, auxiliary, target, source);
//        }
          //写一个递归方法，输入一个非负整数，返回组成它的数字之和
          Scanner sc = new Scanner(System.in);
          int num = sc.nextInt();
          System.out.println(func(num));
        }
        public static int func(int number){
            if  (number < 10) {
                return number;
            } else {
                // 递归步骤：取最后一位数字 + 剩余数字的数字和
                return number % 10 + func(number / 10);
            }
          }
        }
